ساخت سایت
دانش آموزان دبیرستان من آماده هستند تا تلاش بیشتری را برای یادگیری کدگذاری متن انجام دهند. آنها در هنگام مقابله با چالش برنامه نویسی در پایتون ، جاوا اسکریپت ، آردوینو و پردازش ، سرعت خود را کم می کنند تا مراقب هجی و نحو باشند. اما بعد از اینکه دانش آموزان قسمت اول "من واقعاً باید ببینم چه چیزی تایپ می کنم" را سپری می کنند ، آنها اغلب از انعطاف پذیری و قدرت کدگذاری متن قدردانی می کنند ، مخصوصاً وقتی کپی کردن ، جایگذاری ، اصلاح و همکاری در ایجاد کد متن برای ایجاد پروژه آسان تر باشد. .
منبع: https://canvas.yc.edu/eportfolios/7619/Home/_____
در Foothill College KCI Computer Crash crash crash crash، که هر تابستان تدریس می کنم، من به معلمان Scratch و Python را ارائه می دهم و پروژه یکسانی را به هر دو زبان نشان می دهم. آنها دوست دارند موازی بین دو نوع زبان را ببینند ، و حتی بیشتر اگر در ابتدا با "کد شبه" یا نمودار جریان شروع کنیم - راهی برای نوشتن الگوریتم قبل از نوشتن هر کد. در اینجا یک پروژه کوچک که شامل تأیید رمز عبور است ، مانند نمودار جریان ، در Scratch و Python به نظر می رسد.
یکی از رایج ترین سوالاتی که از معلمان و والدین می گیرم این است: از چه زبان برنامه نویسی برای آموزش کدنویسی به کودکان استفاده کنیم؟ آیا همیشه با زبانهای مبتنی بر بلوک مانند Scratch مهم است؟ از چه سنی باید به زبان های مبتنی بر متن روی بیاورند؟ و چگونه می توانم از بین پایتون ، جاوا یا جاوا اسکریپت یکی را انتخاب کنم؟
بعد از نزدیک به 10 سال تدریس کدگذاری به صدها دانشجو ، من اغلب در کنفرانس ها یا سمینارهای معلمان تازه وارد علوم کامپیوتر شرکت می کنم. بسیاری از معلمان برای اولین بار سعی در ایجاد برنامه CS در مدارس خود دارند و قابل درک است که چرا آنها نگران انتخاب زبان برنامه نویسی هستند. علاوه بر تلاش برای فهمیدن اینکه چه چیزی برای دانش آموزان بهتر است ، معلمان باید تعادل بین آنچه در تدریس راحت هستند و آنچه مدیران ، والدین و دانش آموزان فکر می کنند باید یاد بگیرند پیدا کنند.
بنابراین ، آیا یک زبان برنامه نویسی "صحیح" برای شروع وجود دارد؟
زبان رمزگذاری مهم نیست. مفاهیم برنامه نویسی هستند!
همانطور که می توانید حدس بزنید ، پاسخ این است: نه! مهم زبان نیست ، بلکه چگونگی آموزش حل مسئله کد به دانش آموزان است. درک نحوه ایجاد الگوریتم (دستورالعمل های گام به گام) برای مدیریت کار و یافتن بهترین روش برای نوشتن این کد ، احتمالاً سخت ترین قسمت است.
زبان های برنامه نویسی می آیند و می روند - و شما سازگار خواهید شد.
یادگیری تعداد نسبتاً کمی کلمات کلیدی و نحو ساده یک زبان برنامه نویسی خاص آسان است - بسیار آسان تر از یادگیری یک زبان انسانی گفتاری واقعی! در مقابل ، برای برنامه نویسی به طور مستقل ، باید مفاهیم اساسی برنامه نویسی - مثلاً متغیرها ، لیست ها ، شرایط ، حلقه ها و توابع - را درک کرد و سپس دانست که چه موقع ، کجا و چگونه می توان از آنها برای تغییر شکل دادن به آنها استفاده کرد. الگوریتم در کد.
هنگامی که دانش آموز این مفاهیم را درک کرد و مدتی است که با موفقیت در یک زبان برنامه نویسی می کند ، رمزگذاری به زبان دیگر چندان دشوار نیست. تغییر زبان آسان نیست ، اما می توان این کار را انجام داد.
اما آیا این زبان اول نحوه تفکر و کدگذاری شما در آینده را تغییر می دهد؟ آیا یادگیری محبوب ترین زبان در صنعت امروز مهم است؟
زبان های برنامه نویسی می آیند و می روند - و شما سازگار خواهید شد.
محبوبیت زبان های برنامه نویسی در حال تغییر است و هیچ تضمینی وجود ندارد از آنچه امروز به کودکان خود یاد می دهیم تا زمانی که وارد بازار کار شوند استفاده شود. اولین زبان برنامه نویسی من Pascal بود. (بله ، احتمالاً باید الان به دنبال آن بگردید.)
در طول سالها ، من یاد گرفته ام که از زبانهای مختلف در ماشین های مختلف استفاده کنم - برخی از آنها مبهم است و نمی توان آنها را ذکر کرد. در 10 سال گذشته به عنوان معلم ، به اندازه کافی آرم ، خراش ، پردازش ، جاوا اسکریپت ، آردوینو و پایتون آموخته ام تا بتوانم از آن به عنوان یک زبان در کلاس هایم استفاده کنم.
شش سال پیش ، من پیشنهاد کردم که کودکان با Logo ، اولین زبان آموزشی برای CS شروع به کار کنند ، و هنوز هم معتقدم که این گزینه همچنان در دسترس است. در اینجا مهمترین قسمت وجود دارد: اگر می توانید اصول برنامه نویسی را به بچه ها بیاموزید و آنها وقت کافی را برای کدنویسی یک زبان صرف کرده اند ، آنها باید اصول اولیه را ایجاد کنند تا بعداً در صورت لزوم زبانها را عوض کنند.
س Anotherال دیگری غالباً مطرح می شود: آیا باید همه کودکان را به جای زبان متنی ، با زبانهای بلوک شروع کنیم؟
مسدود یا پیامک؟
من تقریباً 10 سال پیش استفاده از Scratch را که شاید محبوب ترین و دوستانه ترین کودک مبتنی بر بلوک باشد ، در کلاس طراحی دیجیتال برای دانش آموزان کلاس ششم شروع کردم و هنوز هم دوست دارم که از آن در همه سطوح استفاده کنم. من از استفاده از ویژگی های جدید در Scratch 3.0 که به تازگی منتشر شده است ، بسیار هیجان زده هستم - خصوصاً برنامه های افزودنی پشتیبانی از متن به گفتار و ترجمه.
برنامه نویسی مبتنی بر بلاک ، ناامیدی برنامه نویسان جوان و اولیه را به دلیل از دست دادن ویرگول یا فراموش کردن بستن پرانتز از بین می برد و زمان بیشتری را برای تمرکز بر درک مفاهیم می گذارد. علاوه بر این ، تمرکز Scratch بر خلاقیت و دسترسی آسان به ایجاد گرافیک ، ویرایش صدا ، اشتراک و ریمیکس پروژه ها ، آن را به یک زبان رمزگذاری اول مناسب برای همه سنین تبدیل کرده است. به عنوان ابزاری برای ایجاد هنر ، انیمیشن ، داستان و بازی به جای اینکه به عنوان زبانی برای کدنویسی ، مارک تجاری شناخته شود ، Scratch را بسیار دوستانه تر و ترسناک تر می کند.
مهم زبان نیست ، بلکه چگونگی آموزش حل مسئله کد به دانش آموزان است.
متوجه شدم که پس از چند سال استفاده از Scratch ، دانش آموزان می خواهند کد نویسی متن را امتحان کنند زیرا این کد را با کدگذاری "بزرگ شده" و "واقعی" که در صنعت انجام می شود مرتبط می کنند. من همچنین دیدم که برای بررسی مفاهیمی مانند متغیرها و حلقه ها ، گاهی فقط به تغییر زبان نیاز است.